package com.sheep.taobao;

import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.TaobaokeItemsCouponGetRequest;
import com.taobao.api.response.TaobaokeItemsCouponGetResponse;

/*
 * 从淘宝获取数据的工具类
 */
public class GetDataUtils {
	
	/*
	 * 从淘宝客获取数据（根据关键字在具体的类别下进行搜索）
	 */
	public static List<Product>  getDatasFromTaoKe(String keywords, String categoryId){
		TaobaoClient client=new DefaultTaobaoClient(Constants.URL, Constants.APPKEY, Constants.APPSECRET);
		TaobaokeItemsCouponGetRequest req=new TaobaokeItemsCouponGetRequest();
		req.setKeyword(keywords);
		req.setFields("price,item_img,property_alias,props,auction_point");
		TaobaokeItemsCouponGetResponse response = null;
		try {
			response = client.execute(req, Constants.SESSIONKEY);
		} catch (ApiException e) {
			// TODO Auto-generated catch block
			System.out.println("********************淘宝API调用失败！");
			e.printStackTrace();
		}
		String jsonStr = response.getBody();
		return json2Products(jsonStr);
	}
	
	/*
	 * 直接将返回的JSON数据存储到数据库对应的表中
	 */
	public static void json2DB(String jsonStr) {
		JSONObject jsonObj = new JSONObject(jsonStr);
		JSONObject rootObj = (JSONObject)jsonObj.get("taobaoke_items_coupon_get_response");
		JSONObject items = (JSONObject)rootObj.get("taobaoke_items");
		JSONArray allItem = (JSONArray)items.get("taobaoke_item");
		for(int i=0; i<allItem.length(); i++ ) {
			allItem.getJSONObject(i).get("num_iid");
			allItem.getJSONObject(i).get("title");
			allItem.getJSONObject(i).get("pic_url");
			allItem.getJSONObject(i).get("price");
			
		}
		
	}
	
	/*
	 * 将从淘宝返回的json字符串，封闭成商品对象
	 */
	private static List<Product> json2Products(String jsonStr) {
		
		return null;
	}
}
